/*
 Copyright (C) 2007 - Michael Opitz
 This program is free software; you can redistribute it and/or
 modify it under the terms of the GNU General Public License
 as published by the Free Software Foundation; either version 2
 of the License, or (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
*/
#ifndef EPHY_GMAIL_EXTENSION_H
#define EPHY_GMAIL_EXTENSION_H

#define STATUSBAR_CONTEXT "EphyGmailStatusbarContext"

#include <gtk/gtkaction.h>
#include <gtk/gtkactiongroup.h>
#include <gtk/gtkuimanager.h>
#include <glib.h>
#include <glib-object.h>
#include <stdio.h>


#define EPHY_TYPE_GMAIL_EXTENSION	  (ephy_gmail_extension_get_type())
#define EPHY_GMAIL_EXTENSION(obj)	  (G_TYPE_CHECK_INSTANCE_CAST((obj), \
					   EPHY_TYPE_GMAIL_EXTENSION, \
					   EphyGmailExtension))
#define EPHY_GMAIL_EXTENSION_CLASS(k)	  (G_TYPE_CHECK_CLASS_CAST((k), \
					   EPHY_TYPE_GMAIL_EXTENSION, \
					   EphyGmailExtensionClass)
#define EPHY_IS_GMAIL_EXTENSION(o)	  (G_TYPE_CHECK_INSTANCE_TYPE((o), \
					   EPHY_TYPE_GMAIL_EXTENSION))
#define EPHY_IS_GMAIL_EXTENSION_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE((k), \
					   EPHY_TYPE_GMAIL_EXTENSION))
#define EPHY_GMAIL_EXTENSION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), \
					   EPHY_TYPE_GMAIL_EXTENSION, \
					   EphyGmailExtensionClass))

typedef struct _EphyGmailExtension 		EphyGmailExtension;
typedef struct _EphyGmailExtensionClass		EphyGmailExtensionClass;
typedef struct _EphyGmailExtensionPrivate	EphyGmailExtensionPrivate;

/** 
 * This class represents the GmailExtesion. It initializes all the other
 * classes.
 */
struct _EphyGmailExtension 
{
	GObject parent;

	EphyGmailExtensionPrivate *priv;
};

/** 
 * This class represents the GmailExtesion. It initializes all the other
 * classes.
 */
struct _EphyGmailExtensionClass 
{
	GObjectClass parent_class;
};

GType
ephy_gmail_extension_get_type ();

GType
ephy_gmail_extension_register_type (GTypeModule *module);

G_END_DECLS

#endif
